﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using IAC_2013.com.iac.action;
using IAC_2013.com.iac.form;
using IAC_2013.com.iac.util;
using System.Data.SqlClient;
using System.Data;

namespace IAC_2013.Forms
{
    public partial class frmCurrentcy : Form
    {
        CurrentcyForm frm;
        SqlConnection conn = new SqlConnection(DBUtils.CONNECTION_STRING);
        SqlCommand cmd;
        SqlDataAdapter da;
        DataTable tb;
        Boolean checkCode = true;

        public frmCurrentcy()
        {
            InitializeComponent();
            load_data();
        }

        public void load_data()
        {
            frm = new CurrentcyForm();
            tb = new System.Data.DataTable();
            tb = new CurrentcyAction().listCurrentcy(frm);
            grvCurrentcys.DataSource = tb;
        }

        private void btSearch_Click(object sender, EventArgs e)
        {
            frm = new CurrentcyForm();
            frm.currentcyCode = txtCurrentcyCode.Text;
            frm.currentcyName = txtCurrentName.Text;
            tb = new System.Data.DataTable();
            tb = new CurrentcyAction().listCurrentcy(frm);
            grvCurrentcys.DataSource = tb;
        }

        private void btSave_Click(object sender, EventArgs e)
        {
            frm = new CurrentcyForm();
            frm.currentcyCode = txtCurrentcyCode.Text;
            frm.currentcyName = txtCurrentName.Text;
            frm.description = txtDescription.Text;
            Boolean checkAddNew = true;
            
            if (txtCurrentcyCode.Text == "")
            {
                MessageBox.Show("Mã loại tiền không được phép để trống!");
            }
            else if (txtCurrentName.Text == "")
            {
                MessageBox.Show("Tên loại tiền loại không được phép để trống!");
            }
            else if (txtCurrentcyCode.Text != "")
            {
                checkCode = CommonUtils.checkCode("", frm.currentcyCode, "ma_lt", "lt_loai_tien", "add");
            }


            if (checkCode == false)
            {
                MessageBox.Show("Mã loại tiền đã tồn tại!");
            }
            else
            {

                checkAddNew = new CurrentcyAction().addCurrentcy(frm);
                if (checkAddNew == false)
                {
                    MessageBox.Show("Thêm dữ liệu không thành công!");
                }
            }
            load_data();
        }

        private void btEdit_Click(object sender, EventArgs e)
        {
            frm = new CurrentcyForm();
            frm.currentcyId = Int32.Parse(currentcyId.Text);
            frm.currentcyCode = txtCurrentcyCode.Text;
            frm.currentcyName = txtCurrentName.Text;
            frm.description = txtDescription.Text;

            if (txtCurrentcyCode.Text == "")
            {
                MessageBox.Show("Mã loại tiền không được để trống.");
            }
            else if (txtCurrentName.Text == "") 
            {
                MessageBox.Show("Tên loại tiền không được để trống.");
            }
            else if (txtCurrentcyCode.Text != "")
            {
                checkCode = CommonUtils.checkCode(code.Text, txtCurrentcyCode.Text, "ma_lt", "lt_loai_tien", "edit");
            }

            if (checkCode == false)
            {
                MessageBox.Show("Mã loại tiền đã tồn tại.");
            }
            else
            {
                Boolean checkEdit = new CurrentcyAction().editCurrentcy(frm);
                if (checkEdit == false)
                {
                    MessageBox.Show("Sửa dữ liệu không thành công.");
                }
            }
            load_data();

        }

        private void btDelete_Click(object sender, EventArgs e)
        {
            frm = new CurrentcyForm();
            frm.currentcyId = Int32.Parse(currentcyId.Text);
            Boolean check = new CurrentcyAction().deleteCurrentcy(frm);
            if (check == false)
            {
                MessageBox.Show("Xóa dữ liệu không thành công!");
            }
            load_data();
        }

        private void grvCurrentcys_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            int r = grvCurrentcys.CurrentCell.RowIndex;
            currentcyId.Text = grvCurrentcys.Rows[r].Cells[0].Value.ToString();
            code.Text = grvCurrentcys.Rows[r].Cells[1].Value.ToString();
            txtCurrentcyCode.Text = grvCurrentcys.Rows[r].Cells[1].Value.ToString();
            txtCurrentName.Text = grvCurrentcys.Rows[r].Cells[2].Value.ToString();
            txtDescription.Text = grvCurrentcys.Rows[r].Cells[3].Value.ToString();
        }
    }
}
